package com.ruicar.afs.cloud.basic.proceeds.mq.dto;

import java.math.BigDecimal;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.basic.common.entity.BasicCarDetails;
import com.ruicar.afs.cloud.common.modules.contract.enums.CarFunctionEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.YesOrNoEnum;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author: Lee
 * @date 2020-05-29 09:31:34 
 * @description 车辆申请
 */
@Data
public class ContractCarDetailsDTO extends ContractMqBaseDataDTO<BasicCarDetails>{
	@JsonSerialize(using = ToStringSerializer.class)
	private Long id;
	/** 合同号 */
	@ApiModelProperty("合同号")
	private String contractNo;
	/** 抵押合同号码 */
	@ApiModelProperty("抵押合同号码")
	private String mortContractNo;
	/** 车架号 */
	@ApiModelProperty("车架号")
	private String carVin;
	/** 车辆制造商 */
	@ApiModelProperty("车辆制造商")
	private String carManufacturer;
	/** 品牌编号 */
	@ApiModelProperty("品牌编号")
	private String brandCode;
	/** 品牌名称 */
	@ApiModelProperty("品牌名称")
	private String brandName;
	/** 车型编号 */
	@ApiModelProperty("车型编号")
	private String modelCode;
	/** 车型名称 */
	@ApiModelProperty("车型名称")
	private String modelName;
	/** 款式编号 */
	@ApiModelProperty("款式编号")
	private String styleCode;
	/** 款式名称 */
	@ApiModelProperty("款式名称")
	private String styleName;
	/** 指导价 */
	@ApiModelProperty("指导价")
	private BigDecimal guidePrice;
	/** 销售价 */
	@ApiModelProperty("销售价")
	private BigDecimal salePrice;
	/** 车身级别 */
	@ApiModelProperty("车身级别")
	private String carBodyClass;
	/** 燃料类型 */
	@ApiModelProperty("燃料类型")
	private String fuelType;
	/** 发动机号 */
	@ApiModelProperty("发动机号")
	private String engineNo;
	/** 车辆颜色 */
	@ApiModelProperty("车辆颜色")
	private String carColor;
	/** 排量 T/L */
	@ApiModelProperty("排量 T/L")
	private String carDisplacement;
	/** 变速器 */
	@ApiModelProperty("变速器")
	private String carTransmission;
	/** 使用性质 运营、非运营 */
	@ApiModelProperty("使用性质 运营、非运营")
	private CarFunctionEnum carFunction;
	/** 上牌地点-省份 */
	@ApiModelProperty("上牌地点-省份")
	private String licenseProvince;
	/** 上牌地点-城市 */
	@ApiModelProperty("上牌地点-城市")
	private String licenseCity;
	/** 购车地点-省份 */
	@ApiModelProperty("购车地点-省份")
	private String purchaseProvince;
	/** 购车地点-城市 */
	@ApiModelProperty("购车地点-城市")
	private String purchaseCity;
	/** 核定载客 */
	@ApiModelProperty("核定载客")
	private Integer totalPassenger;
	/** 表显里程 */
	@ApiModelProperty("表显里程")
	private Double mileage;
	/** 二手车销售价 */
	@ApiModelProperty("二手车销售价")
	private BigDecimal secondSalePrice;
	/** 所有人 */
	@ApiModelProperty("所有人")
	private String carBelongs;
	/** 所有人证件号 */
	@ApiModelProperty("所有人证件号")
	private String belongsCertNo;
	/** 所有人住址 */
	@ApiModelProperty("所有人住址")
	private String belongsAddress;
	/** 车牌号码 */
	@ApiModelProperty("车牌号码")
	private String licensePlate;
	/** 评估师 */
	@ApiModelProperty("评估师")
	private String carAppraiser;
	/** 评估价格 */
	@ApiModelProperty("评估价格")
	private BigDecimal evaluatingPrice;
	/** 车辆出厂日期 */
	@ApiModelProperty("车辆出厂日期")
	private String vehicleMadeDate;
	/** 首次登记日期 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("首次登记日期")
	private Date firstLandingDate;
	/** 首次上牌地址 */
	@ApiModelProperty("首次上牌地址")
	private String firstLicenseAddress;
	/** 挂靠单位ID */
	@ApiModelProperty("挂靠单位ID")
	@JsonSerialize(using = ToStringSerializer.class)
	private Long affiliatedId;
	/** 车商ID */
	@ApiModelProperty("车商ID")
	@JsonSerialize(using = ToStringSerializer.class)
	private Long dealerId;
	/** 车商姓名 */
	@ApiModelProperty("车商姓名")
	private String dealerName;
	/** 车商联系电话 */
	@ApiModelProperty("车商联系电话")
	private String dealerPhone;
	/** 车商联系地址-省份 */
	@ApiModelProperty("车商联系地址-省份")
	private String dealerProvince;
	/** 车商联系地址-城市 */
	@ApiModelProperty("车商联系地址-城市")
	private String dealerCity;
	/** 车商联系地址-区县 */
	@ApiModelProperty("车商联系地址-区县")
	private String dealerCounty;
	/** 车商联系地址-街道 */
	@ApiModelProperty("车商联系地址-街道")
	private String dealerStreet;
	/** 车商联系地址-详细 */
	@ApiModelProperty("车商联系地址-详细")
	private String dealerAddress;
	/** 注册地点-省份 */
	@ApiModelProperty("注册地点-省份")
	private String registProvince;
	/** 注册地点-城市 */
	@ApiModelProperty("注册地点-城市")
	private String registCity;
	/** 一年内过户次数 */
	@ApiModelProperty("一年内过户次数")
	private Integer yearTransNum;
	/** 总过户次数 */
	@ApiModelProperty("总过户次数")
	private Integer transNums;
	/** 是否循环过户 */
	@ApiModelProperty("是否循环过户")
	private YesOrNoEnum isCirTrans;
	/** 是否抵押 */
	@ApiModelProperty("是否抵押")
	private YesOrNoEnum isMortgage;
	/** 整车型号/车辆型号 */
	@ApiModelProperty("整车型号/车辆型号")
	private String fullModelNum;
	/** 主挂类别 主车、挂车、整车 */
	@ApiModelProperty("主挂类别 主车、挂车、整车")
	private String mainAffType;
	/** 车辆种类 牵引车、载货车、专业车、工程类车、其他 */
	@ApiModelProperty("车辆种类 牵引车、载货车、专业车、工程类车、其他")
	private String carKind;
	/** 车辆用途 */
	@ApiModelProperty("车辆用途")
	private String carUse;
	/** 车辆抵押时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("车辆抵押时间")
	private Date carMortDate;
	/** 车辆解除抵押时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("车辆解除抵押时间")
	private Date releaseMortDate;
	/** 车辆结清时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("车辆结清时间")
	private Date carSettleDate;
	
	
}
